home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 2010 April
/
PCWorld0410.iso
/
pluginy Firefox
/
2888
/
2888.xpi
/
content
/
gmarks.js
< prev
next >
Wrap
Text File
|
2009-06-11
|
27KB
|
701 lines
var GMS;
var GM={
lastKeyPress: 0,
star: null,
getURL: function(){
return document.popupNode.getAttribute('value');
},
addRemove: function(event){
if (event.button==1){
if (!this.removeGMark()){
this.addGMark();
}
}
},
removeGMark: function(){
var index;
if ((index=GMS.isBookmarked(window.content.location.href))){
GMS.onRemoveBookmark(index, true, false);
this.star.className="star-off";
return true;
}
return false;
},
quickAddGMark: function(title, url, label){
var theUrl = url ? url : window.content.location.href;
var docTitle = title ? title : window.content.document.title;
var labels = label ? [label] : new Array();
var notes=window.content.getSelection().toString();
//createNewBookmark: function(aId, aURL, aTitle, aLabels, aNotes, aDate, aImage,
var bkmk=GMS.createNewBookmark(null, theUrl, docTitle, labels, notes);
this.star.className="star-on";
GMS.updateBookmark(bkmk,true);
GMS.sendUpdateBookmark(bkmk);
},
addGMark : function(title, url,label){
var theUrl = url ? url : window.content.location.href;
var docTitle = title ? title : window.content.document.title;
var labels = label ? [label] : new Array();
var notes=""//document.getSelection();
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks");
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
.getService(Components.interfaces.nsIVersionComparator);
var FF3 = (versionChecker.compare(appInfo.version, "3.0a") >= 0);
if (prefs.getBoolPref('.ctrlD')==true && !FF3){
var arg=new addGMarkArgs(docTitle,theUrl,labels,notes,1);
window.openDialog("chrome://browser/content/bookmarks/addBookmark2.xul","","chrome,centerscreen,modal",arg);
}
else{
this.editOK=false;
window.openDialog("chrome://gmarks/content/editBookmark.xul","","chrome,centerscreen,modal",docTitle, theUrl,labels,notes,0,null,true);
//if (this.editOK){
// GMS.updateBookmark(this.editBookmark,true);
// GMS.sendUpdateBookmark(this.editBookmark);
//}
}
},
_getTabInfo: function(){
var tabList = [];
var seenURIs = [];
var browsers = getBrowser().browsers;
for (var i = 0; i < browsers.length; ++i) {
var webNav = browsers[i].webNavigation;
var uri = webNav.currentURI;
// skip redundant entries
if (uri.spec in seenURIs)
continue;
// add to the set of seen URIs
seenURIs[uri.spec] = true;
tabList.push(uri);
}
return tabList;
},
addGMarks : function(title, url,label){
var info = {
action: "add",
type: "folder",
hiddenRows: ["description"],
URIList: GM._getTabInfo()
};
PlacesUIUtils._showBookmarkDialog(info, true);
return;
var theUrl = url ? url : window.content.location.href;
var docTitle = title ? title : window.content.document.title;
var labels = label ? [label] : new Array();
var notes=""//document.getSelection();
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks");
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
.getService(Components.interfaces.nsIVersionComparator);
var FF = (versionChecker.compare(appInfo.version, "3.0a") >= 0);
if (prefs.getBoolPref('.ctrlD')==true && !FF3){
var arg=new addGMarkArgs(docTitle,theUrl,labels,notes,1);
window.openDialog("chrome://browser/content/bookmarks/addBookmark2.xul","","chrome,centerscreen,modal",arg);
}
else{
this.editOK=false;
window.openDialog("chrome://gmarks/content/editBookmark.xul","","chrome,centerscreen,modal",docTitle, theUrl,labels,notes,0,null,true);
}
},
onEditBookmark : function(bm) {
bm=GMS.getBookmark(bm);
this.editBookmark=bm;
this.editOK=false;
this.delBkmk=null;
window.openDialog("chrome://gmarks/content/editBookmark.xul","","chrome,centerscreen,modal",bm.title, bm.url,bm.labels,bm.notes,bm.id,bm.mode,false);
},
onPageChange : function(event){
if (window.content && window.content.location){
var url=window.content.location.href;
var index=GMS.isBookmarked(url);
if (!GM.star || GM.star == null) GM.star=document.getElementById("GM-star");
if (index && GM.star && GM.star != null){
GM.star.className="star-on";
}
else if (GM.star){
GM.star.className="star-off";
}
}
},
updateURL : function(url){
bm=GMS.getBookmark(url);
var newURL=window.content.location.href;
GMS.onRemoveBookmark(bm,false);
bm.url=newURL;
GMS.updateBookmark(bm,true);
GMS.sendUpdateBookmark(bm);
},
organizeGMarks: function(){
window.open('chrome://gmarks/content/gmarksOrganize.xul','','chrome,resizable');
},
openOptions: function(){
window.openDialog('chrome://gmarks/content/options.xul','','chrome,titlebar,toolbar,centerscreen,resizable');
},
manageOnline: function(){
//dump("Mange Online\n");
//dump("URL: "+GMS.manageOnlineURL+"\n");
openUILinkIn(GMS.manageOnlineURL,"tab");
},
editFilters: function(){
window.open("chrome://gmarks/content/editFilters.xul","","chrome,centerscreen,resizable");
},
signIn: function(){
//dump("signin\n");
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks.");
var pass = GMS.getPassInfo();
var username = {value: pass.user?pass.user:null}; // default the username to user
var password = {value: pass.password?pass.password:null}; // default the password to pass
var check = {value: prefs.getBoolPref("signin")}; // default the checkbox to true
var checktext = GMS.strbundle.GetStringFromName("autosignin");
var title = GMS.strbundle.GetStringFromName("signintitle");
var text = GMS.strbundle.GetStringFromName("enteruserandpass");
var prompts = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
.getService(Components.interfaces.nsIPromptService);
var result = prompts.promptUsernameAndPassword(null, title, text,
username, password, checktext, check);
//dump("result: "+result+"|"+username.value+"|"+password.value+"|"+check.value+"\n");
if (result){
prefs.setBoolPref("signin",check.value);
if (check.value){
GMS.savePassInfo(username.value,password.value);
}
var sidebar = document.getElementById("sidebar");
if (sidebar){
try{
sidebar.contentDocument.getElementById("signedOffContainer").setAttribute("hidden","true");
}catch(e){
}
}
GMS.onSignIn(false,username.value,password.value);
}
},
observer: {
observe: function(subject, topic, data) {
try{
if (topic=="star-change"){
this.star=document.getElementById("GM-star");
if (data=="on"){
this.star.className="star-on";
} else {
this.star.className="star-off";
}
}
else if (topic=="gmarks-onload"){
insertInToolbar();
initGMarksMenu()
}
else if (topic="gmarks-quickrefresh" || topic=="gmarks-onrefresh" || topic=="gmarks-refreshttoolbar"){
insertInToolbar(data);
initGMarksMenu()
}
else if (topic=="gmarks-updateToolbarImage"){
var pos=data.indexOf("\n");
var id=data.substring(0,pos);
var img=data.substring(pos+2);
document.getElementById("gmBkmk_"+id).setAttribute("image",img);
}
else if (topic=="gmarks-url-added"){
//dump("urladded: "+data+"\n");
if (data==window.content.location){
this.star=document.getElementById("GM-star");
this.star.className="star-on";
}
}
else if (topic=="gmarks-url-removed"){
//dump("urlremoved: "+data+"\n");
if (data==window.content.location){
this.star=document.getElementById("GM-star");
this.star.className="star-off";
}
}
}
catch(e){}
},
register: function() {
var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
observerService.addObserver(this, "star-change", false);
observerService.addObserver(this, "gmarks-onrefresh", false);
observerService.addObserver(this, "gmarks-quickrefresh", false);
observerService.addObserver(this, "gmarks-refreshtoolbar", false);
observerService.addObserver(this, "gmarks-onload", false);
observerService.addObserver(this, "gmarks-updateToolbarImage", false);
observerService.addObserver(this, "gmarks-url-added", false);
observerService.addObserver(this, "gmarks-url-removed", false);
},
unregister: function() {
var observerService = Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService);
observerService.removeObserver(this, "star-change");
observerService.removeObserver(this, "gmarks-onrefresh");
observerService.removeObserver(this, "gmarks-quickrefresh");
observerService.removeObserver(this, "gmarks-onload");
observerService.removeObserver(this, "gmarks-refreshtoolbar");
observerService.removeObserver(this, "gmarks-updateToolbarImage");
observerService.removeObserver(this, "gmarks-url-added");
observerService.removeObserver(this, "gmarks-url-removed");
}
},
doSearch: function(event){
var d=new Date();
var time=d.valueOf();//*1000+d.getMilliseconds();
if (time-GM.lastKeyPress< 700 && time-GM.lastKeyPress>5){
for (var p in event){
if (p.toString().substring(0,7)=="DOM_VK_" && event[p]==event.keyCode){
GMS.qsKey=p.toString().substring(7,8)+p.toString().substring(8).toLowerCase();
break;
}
}
window.openDialog("chrome://gmarks/content/quicksearch.xul","","chrome,hidechrome,titlebar=no,top="+((screen.height/2)-200)+
",left="+(screen.width/2-200));
}
else
GM.lastKeyPress=time;
},
handleKeyUp: function(event){
if (GMS.qsKeyCode>0 && GMS.qsKeyCode==event.keyCode && event.keyCode>0){
GM.doSearch(event);
}
else
GM.lastKeyPress=0;
},
starMouseMove: function(isIn){
if (GM.star){
if (GM.star.className=='star-on'){
GM.star.className='star-off';
}
else{
GM.star.className='star-on';
}
}
}
}
function GMarks_isFF3(){
var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
.getService(Components.interfaces.nsIXULAppInfo);
var versionChecker = Components.classes["@mozilla.org/xpcom/version-comparator;1"]
.getService(Components.interfaces.nsIVersionComparator);
var FF3 = (versionChecker.compare(appInfo.version, "3.0a") >= 0);
return FF3;
}
function doGMarksLoad(event){
GMS=Components.classes["@mozilla.org/gmarks;1"]
.getService(Components.interfaces.nsIGMarksService).wrappedJSObject;
GM.star=document.getElementById("GM-star");
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks");
initGMarksMenu();
prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks.");
var key_open=document.getElementById("key_GMOpenSidebar");//
if (key_open==null){
var keys=document.getElementsByTagName("key");
for (var i=0;i<keys.length;i++){
var k=keys[i].getAttribute('id');
if (k=="key_GMOpenSidebarr"){
key_open=keys[i];
break;
}
}
}
if (key_open!=null){
key_open.setAttribute('key',prefs.getCharPref('keys.sidebar.key'));
key_open.setAttribute('modifiers', prefs.getCharPref('keys.sidebar.modifiers'));
}
if (GMarks_isFF3 && prefs.getBoolPref("ctrlD")){
var addbkmk = document.getElementById("Browser:AddBookmarkAs");
addbkmk.setAttribute("oncommand","GM.addGMark()");
}
var gmarks_tbox = getBrowser().mTabBox;
gmarks_tbox.addEventListener("load", GM.onPageChange, true);
gmarks_tbox.addEventListener("select", GM.onPageChange, true);
gmarks_tbox.addEventListener("pageshow", GM.onPageChange, true);
document.getElementById("cmd_CustomizeToolbars").addEventListener("DOMAttrModified", function(aEvent) {
if (aEvent.attrName == "disabled" && !aEvent.newValue) {
insertInToolbar();
}
}, false);
GM.observer.register();
insertInToolbar();
}
function initGMarksMenu(){
//dump("initGMarksMenu\n");
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks");
var label = "";
var menu=document.getElementById("gmarksMenu");
if (!menu) return;
label = menu.getAttribute("name");
if (prefs.getBoolPref(".menu.hidden")){
menu.setAttribute("hidden","true");
return;
}
if (prefs.getBoolPref(".menu.hidebookmarks")){
var bmenuID=GMarks_isFF3?"bookmarksMenu":"bookmarks-menu";
var bmenu = document.getElementById(bmenuID);
bmenu.hidden=true;
bmenu.setAttribute("hidden","true");
if (prefs.getBoolPref(".menu.rename")){
label = bmenu.getAttribute("label");
}
}
menu.setAttribute("label",label);
menu.label = label;
var itemIDs=prefs.getCharPref(".menu.items").split(",");
if (itemIDs.length==0) return;
var popup=document.getElementById("gmarksMenuPopup");
/* clear old items */
while (popup.lastChild) popup.removeChild(popup.lastChild);
itemIDs.forEach(function(id,idx,arr){
try{
var ele=null;
switch(id){
case "addeditbookmark":
ele=document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_"+id);
ele.setAttribute("oncommand","GM.addGMark();");
break;
case "bookmarktabs":
ele=document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_"+id);
ele.setAttribute("oncommand","GM.addGMarks();");
break;
case "removebookmark":
ele=document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_"+id);
ele.setAttribute("oncommand","GM.removeGMark();");
break;
case "organize":
ele=document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_"+id);
ele.setAttribute("oncommand","GM.organizeGMarks();");
break;
case "gotosite":
ele=document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_"+id);
ele.setAttribute("oncommand","GM.manageOnline();");
break;
case "options":
ele=document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_"+id);
ele.setAttribute("oncommand","GM.openOptions();");
break;
case "editfilters":
ele=document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_"+id);
ele.setAttribute("oncommand","GM.editFilters();");
break;
case "refresh":
ele=document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_"+id);
ele.setAttribute("oncommand","GMS.getBookmarksFeed('onrefresh',true);");
break;
case "mostrecent":
if (GMS.recent.length>0){
ele=document.createElement("menu");
ele.setAttribute("id","gmarks_menu_"+id);
ele.className="bookmark-item menu-iconic";
ele.setAttribute("container","true");
ele.setAttribute("query","true");
ele.appendChild(createFolderItem(GMS.recent));
}
break;
case "mostused":
if (GMS.frequent.length>0){
ele=document.createElement("menu");
ele.setAttribute("id","gmarks_menu_"+id);
ele.className="bookmark-item menu-iconic";
ele.setAttribute("container","true");
ele.setAttribute("query","true");
ele.appendChild(createFolderItem(GMS.frequent));
}
break;
case "bookmarkstree":
//dump("bookmarkstree: "+GMS.isSignedIn+"\n");
if (GMS.isSignedIn){
var bkmks=getTreeData("",false,"menu");
for (var i=0;i<bkmks.length;i++){
var btn;
if (bkmks[i].type==0){//Its a folder!
btn=document.createElement('menu');
btn.setAttribute('value',bkmks[i].fullTitle)
btn.setAttribute('label',bkmks[i].title);
btn.className="bookmark-item menu-iconic";
btn.setAttribute("container","true");
btn.addEventListener('click',function(event){
if (event.button==1){
var url=event.target.getAttribute('value');
openGMarkLabelInTabs(event);
}
},false);
btn.appendChild(createFolderItem(bkmks[i].data));
btn.setAttribute('context',"gm-labelPopup");
}
else{
btn=createBookmarkItem('menuitem',bkmks[i]);
}
popup.appendChild(btn);
}
}
else{
id = "signin";
var ele = document.createElement("menuitem");
ele.setAttribute("id","gmarks_menu_signin");
ele.setAttribute("oncommand","GM.signIn();");
}
break;
case "separator":
ele=document.createElement("menuseparator");
ele.setAttribute("class","groove");
break;
}
if (ele){
if (id!="separator" && id!="bookmarkstree")
ele.setAttribute("label",GMS.strbundle.GetStringFromName(id));
popup.appendChild(ele);
}
}
catch(e){
dump("error in menu loop:\n"+e+"\n");
}
});
//dump("gmarks menu complete\n");
}
function insertInToolbar(data){
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks");
try{
GMS.toolbarFolder=prefs.getComplexValue(".toolbarFolder",
Components.interfaces.nsISupportsString).data;
}
catch(e){
if (prefs.prefHasUserValue(".toolbarFolder"))
GMS.toolbarFolder=prefs.getCharPref(".toolbarFolder");
}
if (!GMS)
GMS=Components.classes["@mozilla.org/gmarks;1"]
.getService(Components.interfaces.nsIGMarksService).wrappedJSObject;
gmarksToolbar=document.getElementById("gmarksToolbar");
if (gmarksToolbar){
gmarksToolbar.setAttribute('value',GMS.toolbarFolder);
for (var i=gmarksToolbar.childNodes.length-1;i>=0;i--){
gmarksToolbar.removeChild(gmarksToolbar.childNodes[i]);
}
var bkmks=getTreeData(GMS.toolbarFolder,true);
if (bkmks && bkmks.length>0){
if (GMS.toolbarFolder==""){
var btn=document.createElement('toolbarbutton');
btn.setAttribute('type','menu');
btn.setAttribute('label',"Bookmarks");
btn.setAttribute('show-text','always');
btn.className="gmarks-personalfolder-all";
btn.appendChild(createFolderItem(bkmks));
gmarksToolbar.appendChild(btn);
}
else{
for (var i=0;i<bkmks.length;i++){
var btn;
if (bkmks[i].type==0){//Its a folder!
btn=document.createElement('toolbarbutton');
btn.setAttribute('type','menu');
btn.setAttribute('value',bkmks[i].fullTitle)
if (!GMS.toolbarShowIconsOnly)
btn.setAttribute('label',bkmks[i].title);
if (!GMS.toolbarShowIconsOnly)
btn.setAttribute('show-text','always');
else{
btn.setAttribute('show-text','never');
btn.setAttribute('tooltiptext',bkmks[i].title);
}
if (GMS.showIcons)
btn.className="gmarks-personalfolder";
else
btn.className="gmarks-personalfolder-all";
btn.addEventListener('click',function(event){
if (event.button==1){
var url=event.target.getAttribute('value');
openGMarkLabelInTabs(event);
}
},false);
btn.appendChild(createFolderItem(bkmks[i].data));
btn.setAttribute('context',"gm-labelPopup");
}
else{
btn=createBookmarkItem('toolbarbutton',bkmks[i]);
}
gmarksToolbar.appendChild(btn);
}
}
}
}
}
function createBookmarkItem(elementType,bkmk){
var btn=document.createElement(elementType);
btn.setAttribute('id',"gmBkmk_"+bkmk.id);
if (!(GMS.toolbarShowIconsOnly && elementType=="toolbarbutton"))
btn.setAttribute('label',bkmk.title);
btn.setAttribute('value',bkmk.url);
if (GMS.showIcons){
//if (elementType=="menuitem"){
btn.className="menuitem-iconic bookmark-item";//gmarks-personalbkmk
//}else
// btn.className="gmarks-personalbkmk";//bookmark-item
}
else{
btn.className="gmarks-personalbkmk";
}
if (!GMS.toolbarShowIconsOnly && elementType=="toolbarbutton")
btn.setAttribute('show-text','always');
else{
btn.setAttribute('show-text','never');
}
if (GMS.toolbarShowIconsOnly && elementType=="toolbarbutton")
btn.setAttribute('tooltiptext',bkmk.title);
else
btn.removeAttribute('tooltiptext');
try{
if (GMS.showIcons && GMS.showFavs){
if (bkmk.image)
btn.setAttribute('image',bkmk.image);
}
}catch(e){}
btn.addEventListener('command',function(event){
var url=event.target.getAttribute('value');
openGMark(url,event);
if (event.target.parentNode.hidePopup)
event.target.parentNode.hidePopup();
},false);
btn.addEventListener('click',function(event){
if (event.button==1){
var url=event.target.getAttribute('value');
openGMark(url,event);
var last = null;
var cur = event.target.parentNode;
while(cur && (cur.tagName == "popup" || cur.tagName == "menupopup" || cur.tagName == "menu" || (cur.tagName=="button" && cur.type=="menu"))){
if (cur.tagName == "popup" || cur.tagName == "menupopup"){
last = cur;
}
cur = cur.parentNode;
}
if (last)
last.hidePopup();
}
},false);
btn.setAttribute('context',"gm-bookmarkPopup");
return btn;
}
function createFolderItem(bkmks){
var folder=document.createElement('menupopup');
for (var i=0;i<bkmks.length;i++){
var item;
if (bkmks[i].type==0){
item=document.createElement('menu');
item.setAttribute('label',bkmks[i].title);
item.setAttribute('value',bkmks[i].fullTitle)
item.setAttribute('show-text','always');
if (GMS.showIcons)
item.className="menu-iconic bookmark-item";//gmarks-personalfolder
else
item.className="gmarks-personalfolder-all";
item.setAttribute("container","true");
item.appendChild(createFolderItem(bkmks[i].data));
item.setAttribute('context',"gm-labelPopup");
item.addEventListener('click',function(event){
if (event.button==1){
var url=event.target.getAttribute('value');
openGMarkLabelInTabs(event);
}
},false);
}
else{
item=createBookmarkItem('menuitem',bkmks[i]);
}
folder.appendChild(item);
}
return folder;
}
function doGMarksUnload(){
GM.observer.unregister()
}
function addGMarkArgs(title,url,labels,notes,tab){
this.name=title ? title : url;
this.url=url;
this.labels=labels;
this.selectedTab=tab;
this.description=notes;
}
function openGMark(url,event){
var bookmarkPrefs=Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("extensions.tabmix.");
var bkmkNewTab;
try{
bkmkNewTab=bookmarkPrefs.getBoolPref("opentabfor.bookmarks");
}
catch(e){bkmkNewTab=false;}
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks");
bkmkNewTab=bkmkNewTab || prefs.getBoolPref('.openinnewtab');
//if (window.content.location.href=="about:blank" || window.content.location.href==""){
// openUILinkIn(url,"current");
//}
//else
if (!bkmkNewTab)
openUILink(url,event,false,true);
else{
if (event.shiftKey==true)
openUILinkIn(url,"tabshifted");
else
openUILinkIn(url,"tab");
}
}
function openGMarkLabelInTabs(event){
var prefs = Components.classes["@mozilla.org/preferences-service;1"].
getService(Components.interfaces.nsIPrefService).getBranch("gmarks.");
var replace = prefs.getBoolPref("loadLabelAndReplace");
if (replace){
var childNodes = gBrowser.tabContainer.childNodes;
for (var i = childNodes.length - 1; i > 0; --i) {
gBrowser.removeTab(childNodes[i]);
}
}
var label=getGMarksLabel(event);
var labelArray = new Array();
labelArray = GMS.getBookmarksByLabel(label);
for (var i = 0; i < labelArray.length; i++)
openUILinkIn(labelArray[i].url, "tabshifted");
if (replace)
gBrowser.removeTab(gBrowser.tabContainer.childNodes[0]);
}
function getGMarksLabel(event){
var parent=document.popupNode;
if (parent!=null){
if (parent.tagName=="menu" || parent.getAttribute('type')=="menu"){
return parent.getAttribute('value');
}
else{
return event.target.getAttribute('value');
}
}
else
return event.target.getAttribute('value');
return parent.getAttribute('value');
}
window.addEventListener('keyup',GM.handleKeyUp,false);
window.addEventListener('load',doGMarksLoad,false);
window.addEventListener('unload',doGMarksUnload,false);